/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servicos.persistencia;

import dominio.investimentos.Acao;
import dominio.investimentos.Carteira;
import java.util.ArrayList;

/**
 *
 * @author Filipe
 */
public class CarteiraDAOS {
    
    public static int inserirCarteira (int idUsuario){
		ConexaoBD.getConnection();
		String sql="Insert into carteira(usuario_idUsuario)"+
		" values ("+idUsuario+")";
			System.out.println(sql);
			return ConexaoBD.executaInsertUpdateDelete(sql);
	}
    
	public static int inserirAcoesCarteira(int idCarteira,int idAcao){
		ConexaoBD.getConnection();
		String sql="Insert into acao_has_carteira(acao_idAcao,carteira_idCarteira)"+
		" values ("+idAcao+", "+idCarteira+")";
                System.out.println(sql);
                ConexaoBD.closeConnection();
		return ConexaoBD.executaInsertUpdateDelete(sql);
	}
	public static int excluirCarteira (int idCarteira){
		ConexaoBD.getConnection();
		int resultado = 0;
		String sql="delete from carteira "+
		" where idCarteira = "+idCarteira;
		resultado = ConexaoBD.executaInsertUpdateDelete(sql);
		ConexaoBD.closeConnection();
		return resultado;		
	}
        
        public static int excluirAcoesCarteira (int idAcao){
		ConexaoBD.getConnection();
		int resultado = 0;
		String sql="delete from acao_has_carteira "+
		" where acao_idAcao = "+idAcao;
		resultado = ConexaoBD.executaInsertUpdateDelete(sql);
		ConexaoBD.closeConnection();
		return resultado;		
	}
        
	public static ArrayList<Acao> consultarAcoesCarteira(int idCarteira){
		ArrayList<Acao> lista = new ArrayList<Acao>();
		try{
			ConexaoBD.getConnection();
			String sql=" select * from carteira c, acao a,acao_has_carteira ac "+
			" where ac.acao_idAcao=a.idAcao and ac.carteira_idCarteira="+idCarteira;
			System.out.println(sql);
			ConexaoBD.executaSelect(sql);
			if(ConexaoBD.rs.next()){
				Acao acao = new Acao();
                                acao.setAbertura(ConexaoBD.rs.getFloat("abertura"));
                                acao.setMedia(ConexaoBD.rs.getFloat("media"));
                                acao.setNome(ConexaoBD.rs.getString("nome"));
                                acao.setQtd(ConexaoBD.rs.getInt("quantidade"));
                                acao.setValorAtual(ConexaoBD.rs.getFloat("valorAtual"));
                                acao.setValorMax(ConexaoBD.rs.getFloat("valorMaximo"));
                                acao.setValorMin(ConexaoBD.rs.getFloat("valorMinimo"));
                                acao.setVariacao(ConexaoBD.rs.getFloat("variacao"));
                                
				lista.add(acao);
			}
		}
		catch (Exception erro){
			System.out.println(erro);
		}
		return lista;
	}
    
}
